// 统一对使用该方法的路由进行错误捕获, 并将其传递到下一个next, 使得该路由中的异常错误可以被最外层的app.use((err, req, res, next)中捕获
module.exports = (func) => {
  return async (req, res, next) => {
    try {
      return await func(req, res, next)
    } catch (err) {
      next(err)
    }
  }
}
